A web page is a web document or other web resource that is suitable for the World Wide Web and can be accessed through a web browser and displayed on a user's computing device display. Web pages may be retrieved by the web browser from a remote server, commonly referred to as a “web server,” via a protocol, such as HyperText Transfer Protocol (HTTP). The retrieved web page may be in the form of a HyperText Markup Language (HTML) document (also referred to as the HTML index file) comprised of HTML elements that may define aspects (e.g., images, styles) of the web page. In addition to retrieving resources, such as the HTML index file, using the HTTP protocol, the web browser may retrieve other resources, such as static resources (e.g., images, Cascading Style Sheet (CSS) style settings), from the web server that were defined by the HTML elements in the HTML index file.
Currently, the web browser may issue HTTP requests to the web server to obtain these resources via a “proxy server.” A proxy server is a server (a computer system or an application) that acts as an intermediary between the user's computing device and the web server. The resources requested by the user may be cached by the proxy server. For example, when the user requests access to a web page, the resources, such as the HTML index page, images, audio, video content and CSS style settings, may already be cached by the proxy server. As a result, such resources can be obtained directly from the proxy server as opposed from the web server thereby reducing the download time in retrieving these resources as well as freeing up the web server to service other requests.
However, when the user desires to retrieve sensitive content (e.g., payment transaction), the web browser of the user's computing device connects to the web server using a communications protocol (e.g., HyperText Transfer Protocol Secure (HTTPS)) for secure communication. If a web page contains sensitive information (e.g., log-in page), then the user's computing device needs to load all content, including non-sensitive content (e.g., image), from the web server over HTTPS or else the user will be vulnerable to attacks and/or surveillance. As a result, the web browser uses the HTTPS communications protocol for the entire downloading of the content, including non-sensitive content, from the web server. When the web browser requests resources using HTTPS, the web browser issues a preliminary connect request to the proxy server instructing the proxy server to establish a Secure Sockets Layer (SSL) tunnel between the user's computing device and the web server. Once established, the proxy server is unaware of the HTTP traffic between the web browser and the web server. As a result, the proxy server is unable to identify the resources being retrieved by the web browser and therefore cannot cache them for the benefit of other users.
Due to the increasing use of HTTPS for its security benefits, these web servers are facing an ever greater load since intermediary proxy servers are unable to cache static content, even non-sensitive content, when the entire content, including non-sensitive content, needs to be transmitted using the HTTPS communications protocol when the web browser establishes an HTTPS connection with the web server.